/**
 * 数据模拟器 用途是方便前后端的工作分离，只要协议内容的情况下。无需互相等待功能开发完毕
 * 
 * 工作模式 包含如下种类
 * normal  正常模式 都返回正常数据
 * test   测试模式 同一个接口 按顺序返回 正常数据 和每一种报错数据 用来测试前端的页面
 */


const DataSimulation = {};
const registermap = {};
//工作类型
DataSimulation.DelayTime = 2000;
//获取post的回执数据 这是系统调用的方法 
DataSimulation.getPostData = function(url, params, callback) {
	setTimeout(() => {
		callback(DataSimulation.getData(url, params, ))
	}, Math.floor(Math.random()*DataSimulation.DelayTime) + 100)
}

DataSimulation.getData = function(url, params, ) {
	let data = registermap[url]
	return {data:data}
}



/**
 * 注册某个url对应的数据格式如下
 * {
 * 	normalData = {},  正常的返回数据
 * 	errorLost: [{     //异常数据列表 保护每一种异常情况
 * 	}]
 *}
 */
DataSimulation.register = function(url, cfg) {
	//根据不同模拟模式
	registermap[url] = cfg;
}

//用一个map注册
DataSimulation.registerMap = function(map) {
	for (let key in map) {
		//根据不同模拟模式
		registermap[key] = map[key];
	}

console.log("***************************",registermap)
}


export default DataSimulation;
